const fp = require('lodash/fp');
const cars = require('./question2');
const _ = require('lodash')

/*
* 练习4： 使用flowRight写一个sanitizeNames()函数，返回一个下划线链接的小写字符串，把数组中的name转换为这种形式：例如
* sanitizeNames(["Hello World"]) => ["hello_world"]
* let _underscore = fp.replace(/\W+/g, '_') 无须改动，直接在sanitizeNames内使用
*  */

// 替换空格为下划线
let _underscore = fp.replace(/\W+/g, '_');

// 字符串小写
let _lowercase = fp.lowerCase;

// 修改对象的name属性
let _converter = item => {
  return {
    ...item,
    name: fp.flowRight(_underscore, _lowercase)(item.name)
  };
}

let sanitizeNames = fp.map(_converter)

console.log(sanitizeNames(cars))



